package edu.unice.simul.util.stats;

import java.util.Hashtable;

import edu.unice.simul.util.Temps;

/**
 * Classe regroupant toutes les statistiques de fin de simulation
 * 
 * @author Romain Ciaccafava
 * 
 */
public class StatsContainer {
	/**
	 * Nombre de personnes en vie en fin de simulation
	 */
	private int personnesEnVie;
	/**
	 * Nombre de personnes mortes en fin de simulation
	 */
	private int personnesMortes;
	/**
	 * Évolution du nombre de personnes vivantes en fonction du temps
	 */
	private Hashtable<Integer, Double> evolutionVivants;
	/**
	 * Temps de sortie des personnes
	 */
	private Hashtable<Integer, Double> tempsDeSortie;
	/**
	 * Répartition des portes utilisées par les humains
	 */
	private Hashtable<String, Double> repartitionPortes;
	/**
	 * Moyenne des points de vie des humains
	 */
	private Hashtable<Integer, Double> pointsDeVieCumules;
	/**
	 * Meilleur temps, pire temps et temps moyen de sortie des humains
	 */
	private Temps tempsMoyenDeSortie, meilleurTemps, pireTemps;
	/**
	 * Écart type des temps de sorties des humains
	 */
	private Temps ecartType;
	/**
	 * Temps de la première mort, temps moyen de la mort des humains
	 */
	private Temps tempsPremiereMort, tempsMoyenMort;

	public int getPersonnesEnVie() {
		return personnesEnVie;
	}

	public void setPersonnesEnVie(int personnesEnVie) {
		this.personnesEnVie = personnesEnVie;
	}

	public int getPersonnesMortes() {
		return personnesMortes;
	}

	public void setPersonnesMortes(int personnesMortes) {
		this.personnesMortes = personnesMortes;
	}

	public Hashtable<Integer, Double> getEvolutionVivants() {
		return evolutionVivants;
	}

	public void setEvolutionVivants(Hashtable<Integer, Double> evolutionVivants) {
		this.evolutionVivants = evolutionVivants;
	}

	public Hashtable<Integer, Double> getTempsDeSortie() {
		return tempsDeSortie;
	}

	public void setTempsDeSortie(Hashtable<Integer, Double> tempsDeSortie) {
		this.tempsDeSortie = tempsDeSortie;
	}

	public Hashtable<String, Double> getRepartitionPortes() {
		return repartitionPortes;
	}

	public void setRepartitionPortes(Hashtable<String, Double> portesDeSortie) {
		this.repartitionPortes = portesDeSortie;
	}

	public Hashtable<Integer, Double> getPointsDeVieCumules() {
		return pointsDeVieCumules;
	}

	public void setPrcVieCumules(Hashtable<Integer, Double> pointsDeVieCumules) {
		this.pointsDeVieCumules = pointsDeVieCumules;
	}

	public Temps getTempsMoyenDeSortie() {
		return tempsMoyenDeSortie;
	}

	public void setTempsMoyenDeSortie(double tempsMoyenDeSortie) {
		this.tempsMoyenDeSortie = new Temps((int) tempsMoyenDeSortie);
	}

	public Temps getMeilleurTemps() {
		return meilleurTemps;
	}

	public void setMeilleurTemps(double meilleurTemps) {
		this.meilleurTemps = new Temps((int) meilleurTemps);
	}

	public Temps getPireTemps() {
		return pireTemps;
	}

	public void setPireTemps(double pireTemps) {
		this.pireTemps = new Temps((int) pireTemps);
	}

	public Temps getEcartType() {
		return ecartType;
	}

	public void setEcartType(double ecartType) {
		this.ecartType = new Temps((int) ecartType);
	}

	public Temps getTempsPremiereMort() {
		return tempsPremiereMort;
	}

	public void setTempsPremiereMort(double tempsPremiereMort) {
		this.tempsPremiereMort = new Temps((int) tempsPremiereMort);
	}

	public Temps getTempsMoyenMort() {
		return tempsMoyenMort;
	}

	public void setTempsMoyenMort(double tempsMoyenMort) {
		this.tempsMoyenMort = new Temps((int) tempsMoyenMort);
	}
}
